#pragma once

// 创建，删除管道
#include <iostream>
#include <string>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <error.h>
#include <unistd.h>
#include <cassert>
#include <fcntl.h>


#define PIPE_NAME "PIPES"


// 创建有名管道
bool CreatPipe()
{
    umask(0);
    int ret = mkfifo(PIPE_NAME,0666);
    if(ret != 0)    // 不知道要发生什么用 if 来获取对应的错误码
    {
        std::cout << "error : " << error << std::endl;
        return false;
    }
    return true;
}

// 销毁管道

void DeletePipe()
{
    std::string path(PIPE_NAME);
    int ret = unlink(path.c_str());
    assert(ret==0);  // 知道要发生什么用assert
    std::cout << "管道销毁完成" << std::endl; // ? 这里有个疑点，好像我的unlink没有用一样
}

